home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / dev / lang / pcq12b.lzh / Include / Hardware / Blit.i < prev    next >
Text File  |  1990-08-27  |  2KB  |  98 lines

  1. {
  2.     Blit.i for PCQ Pascal
  3.  
  4.     include file for blitter
  5. }
  6.  
  7. Const
  8.  
  9.     HSIZEBITS        = 6;
  10.     VSIZEBITS        = 16 - HSIZEBITS;
  11.     HSIZEMASK        = $3F;            { 2^6 - 1 }
  12.     VSIZEMASK        = $3FF;            { 2^10 - 1 }
  13.  
  14.     MAXBYTESPERROW    = 128;
  15.  
  16. { definitions for blitter control register 0 }
  17.  
  18.     ABC        = $80;
  19.     ABNC       = $40;
  20.     ANBC       = $20;
  21.     ANBNC      = $10;
  22.     NABC       = $08;
  23.     NABNC      = $04;
  24.     NANBC      = $02;
  25.     NANBNC     = $01;
  26.  
  27. { some commonly used operations }
  28.  
  29.     A_OR_B    = ABC + ANBC + NABC + ABNC + ANBNC + NABNC;
  30.     A_OR_C    = ABC + NABC + ABNC + ANBC + NANBC + ANBNC;
  31.     A_XOR_C    = NABC + ABNC + NANBC + ANBNC;
  32.     A_TO_D    = ABC + ANBC + ABNC + ANBNC;
  33.  
  34.     BC0B_DEST    = 8;
  35.     BC0B_SRCC    = 9;
  36.     BC0B_SRCB    = 10;
  37.     BC0B_SRCA    = 11;
  38.     BC0F_DEST    = $100;
  39.     BC0F_SRCC    = $200;
  40.     BC0F_SRCB    = $400;
  41.     BC0F_SRCA    = $800;
  42.  
  43.     BC1F_DESC   = 2;        { blitter descend direction }
  44.  
  45.     DEST    = $100;
  46.     SRCC    = $200;
  47.     SRCB    = $400;
  48.     SRCA    = $800;
  49.  
  50.     ASHIFTSHIFT    = 12;        { bits to right align ashift value }
  51.     BSHIFTSHIFT    = 12;        { bits to right align bshift value }
  52.  
  53. { definations for blitter control register 1 }
  54.  
  55.     LINEMODE    = $01;
  56.     FILL_OR    = $08;
  57.     FILL_XOR    = $10;
  58.     FILL_CARRYIN = $04;
  59.     ONEDOT    = $02;        { one dot per horizontal line }
  60.     OVFLAG    = $20;
  61.     SIGNFLAG    = $40;
  62.     BLITREVERSE    = $02;
  63.  
  64.     SUD        = $10;
  65.     SUL        = $08;
  66.     AUL        = $04;
  67.  
  68.     OCTANT8    = 24;
  69.     OCTANT7    = 4;
  70.     OCTANT6    = 12;
  71.     OCTANT5    = 28;
  72.     OCTANT4    = 20;
  73.     OCTANT3    = 8;
  74.     OCTANT2    = 0;
  75.     OCTANT1    = 16;
  76.  
  77. Type
  78.  
  79. { stuff for blit qeuer }
  80.  
  81.     bltnode = record
  82.     n    : ^bltnode;
  83.     func    : Address;        { Called function in C includes }
  84.     stat    : Char;
  85.     blitsize : Short;
  86.     beamsync : Short;
  87.     cleanup    : Address;
  88.     end;
  89.     bltnodePtr = ^bltnode;
  90.  
  91.  
  92. Const
  93.  
  94. { defined bits for bltstat }
  95.  
  96.     CLEANUP    = $40;
  97.     CLEANME    = CLEANUP;
  98.